<?php
/**
 * Created by PhpStorm.
 * User: lixy
 * Date: 2016/1/21
 * Time: 10:10
 */

namespace app\models;
use Yii;
use app\lib\BaseModel;

class BizDao extends BaseModel
{
/*--订单金额计算
create or replace procedure P_WXMALL_CALC_PRICE(
 user_id in varchar2  --用户id
 ,current_coin in number  --使用的朵拉币
 ,order_code in varchar2    -- 订单号
 ,RESULTS OUT VARCHAR2 --返回1 成功 其他为错误信息
  ,realPrice OUT number --计算后的订单实际支付金额
)*/

    public static function P_WXMALL_CALC_PRICE($user_id,$current_coin,$order_code){

        $cmd=  static::query()->createCommand('call P_WXMALL_CALC_PRICE( :user_id,:current_coin,:order_code,:RESULTS,:realPrice)');
        $cmd->bindValue(':user_id',$user_id);
        $cmd->bindValue(':current_coin',$current_coin);
        $cmd->bindValue(':order_code',$order_code);

        $cmd->bindParam(':RESULTS', $RESULTS,\PDO::PARAM_STR,50);
        $cmd->bindParam(':realPrice', $realPrice,\PDO::PARAM_STR,50);
        $cmd->execute();

        return ['RESULTS'=>$RESULTS,'realPrice'=>$realPrice];
    }

/*--扣除朵拉币  ps：没有主动做commit，可以嵌套存储过程用
create or replace procedure P_WXMALL_CASH_COIN(
order_code in varchar2 --订单编号
,user_id in varchar2   --用户id
,current_coin in number  --使用的朵拉币
,RESULTS OUT VARCHAR2 --返回1 成功 or 错误信息
)*/
    public static function P_WXMALL_CASH_COIN($user_id,$current_coin,$order_code){
//        echo $user_id.'-'.$current_coin.'-'.$order_code;
//        exit;
        $cmd=  static::query()->createCommand('call P_WXMALL_CASH_COIN( :order_code,:user_id,:current_coin,:RESULTS)');
        $cmd->bindValue(':user_id',$user_id);
        $cmd->bindValue(':current_coin',$current_coin);
        $cmd->bindValue(':order_code',$order_code);

        $cmd->bindParam(':RESULTS', $RESULTS,\PDO::PARAM_STR,50);
        $cmd->execute();

        return $RESULTS;
    }

}